import com.atguigu.spring.controller.UserController;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class AutowrieBuXMLtest {
    /**
     * 自动装配
     * 根据指定的策略在ioc容器中去匹配到某一个bean，根据指定的策略，在IOC容器中匹配某一个bean，
     * 自动为指定的bean中所依赖的类类型或接口类型属性赋值
     * 若在IOC中，没有任何一个兼容类型的bean能够为属性赋值，则该属性不装配，即值为默认值null
     * 若在IOC中，有多个兼容类型的bean能够为属性赋值，则抛出异常
     * NoUniqueBeanDefinitionException
     * 当使用ByType进行自动装配时，只能匹配到一个bean进行赋值
     * 自动装配方式：byName
     * byName：将自动装配的属性的属性名，作为bean的id在IOC容器中匹配相对应的bean进行赋值
     * 一个都匹配不到，也是空指针异常；；
     * 当类型匹配的bean有多个的时候，我们可以使用byName来进行匹配
     */
    @Test
    public void test01(){
        ApplicationContext context = new ClassPathXmlApplicationContext("spring-wutowrie-xml.xml");
        UserController userController = context.getBean("userController", UserController.class);
        userController.saveUser();
    }
}
